{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "**Phase 3 – Current Hardware Systems**\n",
    "\n",
    "**Kitty Yeung, Michael Beverland**\n",
    "\n",
    "To build a quantum computer, we need to have a physical system consisting of two values, to represent\n",
    "|0⟩ and |1⟩ states. Different from the two states (\"on\" and \"off\") built using a transistor in a classical\n",
    "computer, we also need to be able to put these states in superposition. There are natural systems that\n",
    "act as qubits, such as electrons with two different spin states; and there are systems we can artificially\n",
    "build to behave like qubits. We will explore a few approaches that have been pursued in academia and\n",
    "industry, each having pros and cons that we will briefly mention.\n",
    "\n",
    "The field is rapidly developing with hardware architectures changing as we speak. Therefore, we\n",
    "will not be comparing their widescale feasibility just yet. In addition, we are only highlighting the\n",
    "underlying principles here and do not delve into details of measurement and error corrections.\n",
    "\n",
    "# 3.1 Natural Qubits\n",
    "\n",
    "Let's start with the simplest example of a qubit. Otto Stern and Walther Gerlach created an experimental\n",
    "method in 1922 that helped discover a property of fundamental particles. This method was used to fire a\n",
    "beam of hydrogen atoms (each with a single electron, so effectively it was an electron beam) through a\n",
    "uniform magnetic field. It was assumed that the magnetic field would deviate the electron beam to one\n",
    "direction due to their negative charge. But surprisingly, two beams emerged. This unexpected outcome\n",
    "would only be possible if the elections possessed an intrinsic non-classical non-orbital angular momentum-a magnetic moment, which we call _spin_ , was discovered through this experiment.\n",
    "\n",
    "![Figure Stern-Gerlach experiment](image/Stern.png)\n",
    "\n",
    "The two beams in the Stern-Gerlach experiment are caused by two spin types of an electron. It\n",
    "can be calculated that there is a spin with magnitude $+\\frac{1}{2}\\hbar$ and another with $-\\frac{1}{2}\\hbar$ ( while $\\hbar$ is a constant\n",
    "number call the \"Planck constant\"). Graphically they can be represented on a sphere in 3D with its radius\n",
    "equals to $\\frac{\\sqrt{3}}{2}\\hbar$. Indicated by the directions projected onto the z-axis, they are simply called \"spin-up\" and\n",
    "\n",
    "\"spin-down\", each with spin value one-half. If we could isolate electrons and control their spins, we could\n",
    "make a qubit with one of the spins being state |0⟩ and the other |1⟩.\n",
    "\n",
    "![Frigure spin](image/spin.png)\n",
    "\n",
    ">_Physics insert – classical hardware_----------------------------------------------------------\n",
    ">\n",
    ">Modern classical computers are built on transistors, which are tiny switches\n",
    ">made of stacks of semiconductors, metals and insulators. Depending on the voltage\n",
    ">applied to the fate, electrical current can flow from source to drain, or not. Thus acting\n",
    ">like a switch flipping between \"on\" or \"off\", representing \"1\"s and \"0\"s.\n",
    ">\n",
    ">![Figure transistor](image/transistOr.png)\n",
    ">\n",
    ">This kind of operation does not allow any superposition of states. The building\n",
    ">blocks of quantum computers are very different.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3-final"
  },
  "orig_nbformat": 2,
  "kernelspec": {
   "name": "python38332bit225b1603132a4a1f9abff16033481403",
   "display_name": "Python 3.8.3 32-bit"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}